Proceedings of CICLOPS 2008 8 th International Colloquium on Implementation of Constraint and LOgic Programming Systems
نویسندگان
چکیده
The Prolog primitive thread_cancel/1, which simply cancels a thread as recommended in ISO/IEC DTR 13211-5:2007, is conspicuously absent in well-maintained, widely used multithreaded Prolog systems. The ability to cancel a thread is useful for application development and is critical to Prolog embeddability. The difficulty of cancelling a thread is due to the instant mapping of Prolog multithreading primitives to the native-machine thread methods. This paper reports on an attempt to implement thread cancellation using self-blocking threads. A thread blocks at the same safe execution point where the state of the underlying virtual machine is defined. A blocked thread awaits a notification to resume or terminate. A resumed thread may be redirected to self-block by a blocking primitive. Experimental results based on a prototype implementation show that using self-blocking threads not only simplifies the implementation of thread cancellation but also improves the performance of message-passing primitives.
منابع مشابه
Proceedings of CICLOPS 2007 7 th International Colloquium on Implementation of Constraint and LOgic Programming Systems
The message of this paper is the following: there is one more basic principle of operational semantics of logic programming (besides backtracking, recursion, etc.) that gives a solution of challenging problem of combining strict declarative semantics of logic languages with the dynamic behavior (that includes destructive assignment operations and interaction with dynamic environment). We have d...
متن کاملCICLOPS 2005 Proceedings of the Fifth Colloquium on Implementation of Constraint and LOgic Programming Systems
For any LP system, tabling can be quite handy in a variety of tasks, especially if it is efficiently implemented and fully integrated in the language. Implementing tabling in Mercury poses special challenges for several reasons. First, Mercury is both semantically and culturally quite different from Prolog. While decreeing that tabled predicates must not include cuts is acceptable in a Prolog s...
متن کاملCHR 2009 — Proceedings of the 6 th International Workshop on Constraint Handling Rules
This volume contains the papers presented at CHR 2009, the sixth international workshop on Constraint Handling Rules, held on July 15th, 2009 at the occasion of ICLP 2009 and IJCAI 2009 in Pasadena (California, USA). Previous workshops on Constraint Handling Rules were organized in May 2004 in Ulm (Germany), in October 2005 in Sitges (Spain) at ICLP, in July 2006 in Venice (Italy) at ICALP, in ...
متن کاملOptimized Fuzzy Logic for Nonlinear Vibration Control of Aircraft Semi-active Shock Absorber with Input Constraint (TECHNICAL NOTE)
Landing impact and runway unevenness have proximate consequence on performance of landing gear system and conduce to discomfort of passengers and reduction of the pilot’s capability to control aircraft. Finally, vibrations caused by them result in structure fatigue. Fuzzy logic controller is used frequently in different applications because of simplicity in design and implementation. In the pre...
متن کاملThe Essence of Constraint Propagation
We show that several constraint propagation algorithms (also called (local) consistency, consistency enforcing, Waltz, filtering or narrowing algorithms) are instances of algorithms that deal with chaotic iteration. To this end we propose a simple abstract framework that allows us to classify and compare these algorithms and to establish in a uniform way their basic properties. Note. This is a ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008